// 从 NestJS 公共模块导入 Module 装饰器，用于定义 NestJS 模块
import { Module } from '@nestjs/common';
// 导入用户控制器类
import { UsersController } from './users.controller';
// 导入用户服务类
import { UsersService } from './users.service';
// 导入数据库模块
import { DatabaseModule } from '../database/database.module';
// 注意：当前未找到 users.providers.ts 文件，若后续添加该文件，此导入可用于获取用户相关的提供者
import { usersProviders } from './users.providers';

/**
 * 用户模块，负责整合用户相关的控制器、服务和提供者
 */
@Module({
  // 导入其他模块，使当前模块可以使用这些模块提供的功能，此处导入数据库模块以使用数据库连接
  imports: [DatabaseModule],
  // 定义当前模块的控制器，处理 HTTP 请求
  controllers: [UsersController],
  // 定义当前模块的提供者，如服务、仓库提供者等，展开 usersProviders 并添加 UsersService
  providers: [...usersProviders, UsersService],
  // 导出当前模块的提供者，供其他模块使用，此处导出 UsersService
  exports: [UsersService],
})
export class UsersModule {}